/**
 * 直接启动MCP服务的Node.js脚本
 */
const { spawn } = require('child_process');
const path = require('path');

// 设置API Key - 使用与mcp.json文件中相同的密钥
process.env.AMAP_MAPS_API_KEY = '4449ac26963227ad33708de521f024c5';

console.log('===== 启动高德地图MCP服务 =====');
console.log('API Key:', process.env.AMAP_MAPS_API_KEY);

// 启动MCP服务，增加内存限制
const mcp = spawn('node', ['--max-old-space-size=4096', '--max-http-header-size=16384', './node_modules/@amap/amap-maps-mcp-server/lib/index.js'], {
  env: process.env,
  stdio: 'inherit' // 将输出直接显示在控制台
});

// 处理服务退出
mcp.on('exit', (code) => {
  if (code !== 0) {
    console.error(`MCP服务异常退出，退出码: ${code}`);
    process.exit(code);
  } else {
    console.log('MCP服务已正常终止');
  }
});

// 处理进程信号
process.on('SIGINT', () => {
  console.log('接收到终止信号，正在关闭MCP服务...');
  mcp.kill('SIGINT');
});

console.log('MCP服务已启动，正在运行中...');
console.log('按Ctrl+C终止服务'); 